package com.itheima.thread02;

import java.io.ObjectInputStream;

public class MyThread implements Runnable{
    //总票数100，这是共享的数据
    private int tickets = 100;
    private static Object object = new Object();
    @Override
    public void run() {
        while (true){
            //加锁，同步代码块中一次只能有一个线程进入
            //锁对象必须要唯一，不然锁就没有意义了
            synchronized (object) {
                //票数大于0就卖
                if (tickets <=0 ){
                    System.out.println("已售罄");
                    break;
                }else {
                    try {
                        //线程会在这里休眠100毫秒，因为实际买票是需要时间的
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }

                    //卖完一张就减一张
                    tickets--;
                    //然后打印出剩余票数
                    System.out.println(Thread.currentThread().getName()+"在卖票，还剩"+tickets+"张票");
                }
            }
        }
    }
}
